# UBUNTU 16.10 YafaRay Standalone building procedure (only valid for YafaRay v3.1.2 or higher)
# NOTE: This procedure generates a "yafaray_v3" folder that can be used by 3rd party software, or by
# executing yafaray_v3/bin/yafaray-xml to render a YafaRay XML scene file

# INSTALLING DEVEL TOOLS
sudo apt-get install -y git cmake cmake-curses-gui autoconf gcc g++ cpp swig

# INSTALLING LIBRARY DEPENDENCIES
sudo apt-get install -y python3-dev zlib1g-dev libpng-dev libfreetype6-dev libxml2-dev libtiff5-dev libopencv-dev libjpeg-dev libopenexr-dev

# DOWNLOADING YAFARAY AND SETTING UP FOLDERS
mkdir -p $HOME/yafa-dev/src $HOME/yafa-dev/make $HOME/yafa-dev/build
cd $HOME/yafa-dev/src
git clone https://github.com/YafaRay/Core

# CREATE UserConfig.txt FILE WITH YAFARAY BUILDING OPTIONS. Execute the entire block below until (including) EOF

cat <<EOF >$HOME/yafa-dev/make/UserConfig.txt
####################################################################
# UserConfig File to build for Ubuntu 16.10 Standalone
####################################################################
# WARNING: DON'T TOUCH THE NEXT LINE                                           
set(YAF_USER_CONFIG ON)
####################################################################

set(DEBUG_BUILD OFF)
set(USER_INSTALL_PREFIX "$HOME/yafa-dev/build/yafaray_v3/")
set(BLENDER_ADDON OFF)
set(YAF_PY_VERSION 3.5)
####################################################################
EOF


# BUILDING YAFARAY
cd $HOME/yafa-dev/make
cmake $HOME/yafa-dev/src/Core
# Note: "-j9" uses 9 threads in this example for speeding up the building process. It can be changed to "-j<number of threads>" depending on the number of cores of the processor used for building YafaRay.
make -j9
make install -j9

# TESTING YAFARAY
cd $HOME/yafa-dev/build/yafaray_v3/share/yafaray/tests/test01/
$HOME/yafa-dev/build/yafaray_v3/bin/yafaray-xml -f png test01.xml test01_render
